package com.itheima.d3_udp2;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

/*
     目标：完成UDP通信快速入门-服务端开发
 */
public class Server {
    public static void main(String[] args) throws Exception {
        // 1、创建一个服务端对象,注册端口
        DatagramSocket datagramSocket = new DatagramSocket(10010);

        // 2、创建一个数据包对象，用于接收数据的
        byte[] bys = new byte[1024 * 64];// 64kb
        DatagramPacket datagramPacket = new DatagramPacket(bys, bys.length);

        while (true) {
            // 3、开始正式使用数据包来接收客户端发来的数据
            // System.out.println("receive方法执行前");
            datagramSocket.receive(datagramPacket);// 阻塞
            // System.out.println("receive方法执行后");
            // 4、从字节数组中，把接收到的数据直接打印出来
            // 接收多少就倒出多少
            int length = datagramPacket.getLength();// 真正接受到的字节数据个数
            // 获取本次数据包接收了多少数据。
            String s = new String(bys, 0, length);
            System.out.println(s);
        }

        // 5、释放资源
        // datagramSocket.close();
    }
}
